package org.tio.sitexxx.web.server.controller.minip;


import com.github.binarywang.wxpay.config.WxPayConfig;
import com.github.binarywang.wxpay.service.WxPayService;
import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.tio.utils.jfinal.P;

/**
 * 单例 支付对象（懒加载）
 */
public class wxpay {
    private static WxPayService wxPayService=null;
    private static WxPayConfig payConfig=new WxPayConfig();
    static{
        payConfig.setAppId(StringUtils.trimToNull(P.get("wxpay.config.appId")));
        payConfig.setMchId(StringUtils.trimToNull(P.get("wxpay.config.mchId")));
        payConfig.setMchKey(StringUtils.trimToNull(P.get("wxpay.config.mchKey")));
        payConfig.setNotifyUrl(StringUtils.trimToNull(P.get("wxpay.config.notifyUrl")));
        payConfig.setTradeType(StringUtils.trimToNull(P.get("wxpay.config.tradeType")));

    }
    private wxpay(){

    }

    /**
     * 二重判空
     * @return
     */
    public static WxPayService getInstance(){
        if(null==wxPayService){
            synchronized (wxpay.class){
                if(null==wxPayService){
                    wxPayService=new WxPayServiceImpl();
                    wxPayService.setConfig(payConfig);
                }
            }
        }
        return wxPayService;
    }

}
